// 保存所有的登录状态
// 引入路由
import router from '../../router'
// 引入 登录api
import { $accountLogin } from '../../api/index.js'

const user = {
  state: {
    account: '', // 用户名
    username: '', // 中文名
    type: '', // 权限 1.超级管理员 1.普通管理员
    token: '' // token ；令牌，登录成功后，由后台颁发
  },
  mutations: {
    // 用户名
    SET_ACCOUNT (state, account) {
      state.account = account
    },
    // 中文名
    SET_USERNAME (state, username) {
      state.username = username
    },
    // 权限 1 超级管理员 2 普通管理员
    SET_TYPE (state, type) {
      state.type = type
    },
    // token 令牌，登录成功后，由后台颁发
    SET_TOKEN (state, token) {
      state.token = token
    }
  },
  actions: {
    // 登录的动作
    LoginAction ({ commit }, userInfo) {
      console.log(userInfo)
      // 调用后台接口
      $accountLogin(userInfo).then(res => {
        console.log(res)
        if (res.data.code === 666) {
          // 设置mutations
          console.log('登录成功')
          console.log(commit)
          commit('SET_ACCOUNT', res.data.data.account)
          commit('SET_USERNAME', res.data.data.username)
          commit('SET_TYPE', res.data.data.type)
          commit('SET_TOKEN', res.data.token)
          // 路由跳转到首页
          router.push('/home/dashboard')
        }
      }).catch(error => {
        console.log(error)
      })
    },
    LogoutAction ({ commit }) {
      console.log('退出', commit)
      commit('SET_ACCOUNT', '')
      commit('SET_USERNAME', '')
      commit('SET_TYPE', '')
      commit('SET_TOKEN', '')
      router.push('/login')
    }
  }
}

export default user
